package cn.skylark.wcm.service;

import cn.skylark.wcm.entity.Resources;
import com.github.pagehelper.PageInfo;
import java.util.List;
import java.util.Map;

/**
 * 权限服务接口service
 *
 * @author chuhl
 * @since
 *
 */
public interface ResourcesService {
  /**
   * 取得分页权限列表
   *
   * @param resources Resources
   * @param start int
   * @param length int
   * @return PageInfo<Resources>
   */
  PageInfo<Resources> selectByPage(Resources resources, int start, int length);

  /**
   * 取得所有权限列表
   *
   * @return List<Resources>
   */
  List<Resources> queryAll();

  /**
   * 取得指定范围权限
   *
   * @param map Map<String, Object>
   * @return List<Resources>
   */
  List<Resources> loadUserResources(Map<String, Object> map);

  /**
   * 取得被指定权限列表
   *
   * @param rid Integer
   * @return List<Resources>
   */
  List<Resources> queryResourcesListWithSelected(Integer rid);
  /**
   * 根据ID删除权限
   *
   * @param id Integer
   */
  void deleteById(Integer id);

  /**
   * 保存权限
   *
   * @param resources Resources
   */
  void save(Resources resources);

  /**
   * 通过name查是否存在
   * @param resources
   * @return
   */
  Resources selectByName(Resources resources);

  /**
   * 伦理删除权限
   * @param userid 用户id
   * @param resourcesId 权限id
   */
  void deleteResourceById(Integer userid,String [] resourcesId );

  /**
   * 分页根据用户id获取权限列表
   * @param userid
   * @param start
   * @param length
   * @return
   */
  PageInfo<Resources> getResourcesListByUserid(Integer userid, String flag,int start, int length,String searchValue);

  /**
   * 通过类别获取权限
   * @param code 类别
   * @return
   */
  List<Resources> getResourcesListByParentId(String code);
}
